﻿
Imports System.Net.Sockets
Imports osi.root.constants
Imports osi.root.utils
Imports osi.service.commander
Imports osi.service.argument
Imports osi.service.device
Imports osi.service.selector

<global_init(global_init_level.server_services)>
Partial Public Class powerpoint
    Private Const type_str As String = "tcp"

    Private Shared Sub init()
        assert(device_constructor.register(
                   Function(v As var,
                            ByRef o As powerpoint) As Boolean
                       Return create(v, o)
                   End Function))
        assert(device_constructor.register(
                   Function(v As var,
                            ByRef o As new_device_event_isync_device_pool(Of TcpClient)) As Boolean
                       Return create(v, o)
                   End Function))
        assert(device_constructor.register(
                   Function(v As var, ByRef o As isync_device_pool(Of TcpClient)) As Boolean
                       Return create(v, o)
                   End Function))
        assert(device_constructor.register(
                   Function(v As var, ByRef o As idevice_pool(Of TcpClient)) As Boolean
                       Return create(v, o)
                   End Function))
        assert(device_constructor.register(
                   type_str,
                   Function(v As var,
                            ByRef o As new_device_event_isync_device_pool(Of flow)) As Boolean
                       Return create(v, o)
                   End Function))
        assert(device_constructor.register(
                   type_str,
                   Function(v As var,
                            ByRef o As isync_device_pool(Of flow)) As Boolean
                       Return create(v, o)
                   End Function))
        assert(device_constructor.register(
                   type_str,
                   Function(v As var, ByRef o As idevice_pool(Of flow)) As Boolean
                       Return create(v, o)
                   End Function))
        assert(device_constructor.register(
                   type_str,
                   Function(v As var,
                            ByRef o As new_device_event_isync_device_pool(Of block)) As Boolean
                       Return create_as_block_device_pool(v, o)
                   End Function))
        assert(device_constructor.register(
                   type_str,
                   Function(v As var,
                            ByRef o As isync_device_pool(Of block)) As Boolean
                       Return create_as_block_device_pool(v, o)
                   End Function))
        assert(device_constructor.register(
                   type_str,
                   Function(v As var, ByRef o As idevice_pool(Of block)) As Boolean
                       Return create_as_block_device_pool(v, o)
                   End Function))
        assert(device_constructor.register(
                   type_str,
                   Function(v As var,
                            ByRef o As new_device_event_isync_device_pool(Of herald)) As Boolean
                       Return create_as_herald_device_pool(v, o)
                   End Function))
        assert(device_constructor.register(
                   type_str,
                   Function(v As var,
                            ByRef o As isync_device_pool(Of herald)) As Boolean
                       Return create_as_herald_device_pool(v, o)
                   End Function))
        assert(device_constructor.register(
                   type_str,
                   Function(v As var, ByRef o As idevice_pool(Of herald)) As Boolean
                       Return create_as_herald_device_pool(v, o)
                   End Function))
    End Sub
End Class
